package xyz.xmh.pattern.structural.bridgepattern;

/**
 * Circle
 * 圆形实体类，继承图形抽象类，桥的另一边
 *
 * @author xuMingHai
 * @since 2021/4/30 星期五 9:47
 */
public class Circle extends Shape {

    /**
     * 圆形的半径、宽、高
     */
    private final int radius;
    private final int x;
    private final int y;

    public Circle(int radius, int x, int y, DrawApi drawApi) {
        // 构造函数的第一行，必然是调用父类构造函数
        super(drawApi);
        this.radius = radius;
        this.x = x;
        this.y = y;
    }

    /**
     * 继承的父类功能方法
     */
    @Override
    public void draw() {
        // 使用父类桥接的接口的功能
        drawApi.drawCircle(radius, x, y);
    }
}
